#ifndef COOLPOOL_SIMULATION_SIMOBJECTS_BALLRENDERABLE_H_
#define COOLPOOL_SIMULATION_SIMOBJECTS_BALLRENDERABLE_H_

#include <GL/freeglut.h>
#include <MatrixTools.h>
#include <Vector3D.h>

#include "IRenderable.h"

namespace matrix_tools = math_tools::matrix_tools;

namespace coolpool
{
	// Renderable object for ball objects.
	class BallRenderable: public IRenderable
	{
	public:
		BallRenderable(const math_tools::Vector3D & location, const math_tools::Matrix3D & orientation, double radius, GLuint texture);

		virtual ~BallRenderable();

		virtual void render() const;

	private:

		math_tools::Vector3D location_;
		math_tools::Matrix3D orientation_;
		double radius_;
		GLuint texture_;
	};
}

#endif
